Print system and printer device facilitating reuse of print data

ABSTRACT

A print system includes a communication path, a client device which transmits print data to said communication path, a host device connected to said communication path, and a printer device which prints the print data after receiving the print data from said client device via said communication path, and automatically sends the print data together with printer output information to said host device via said communication path, said printer output information including keywords for identifying said print data.

CROSS-REFERENCE TO RELATED DOCUMENTS

The present patent document is a divisional of U.S. application Ser. No.12/141,442, filed Jun. 18, 2008, now U.S. Pat. No. 8,072,639 which is adivisional of U.S. application Ser. No. 11/001,341 filed on Dec. 2,2004, now U.S. Pat. No. 7,423,773 which is a continuation of U.S.application Ser. No. 09/412,762 filed on Oct. 5, 1999, now U.S. Pat. No.6,842,263 and in turn claims priority to JP 10-287847 filed on Oct. 9,1998, JP 11-077054 filed on Mar. 23, 1999, and JP 11-223329 filed onAug. 6, 1999, the entire contents of each of which are herebyincorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a print system which includes a printerdevice and a host device connected to each other via two-waycommunication path, and relates to the printer device which is used insuch a system.

2. Description of the Related Art

In the technological art of printing, schemes for reprinting print dataare available for the purpose of making reuse of print data. There is aneed for such schemes when original printing fails because ofunsatisfactory printing quality, jamming, malfunction, etc., or whenreprinting is desired in order to correct unsatisfactory printingquality or in order to print more copies. To this end, various schemeshave been presented, such as disclosed in Japanese Patent Laid-openApplication No. 6-55783, Japanese Patent Laid-open Application No.9-114616, and Japanese Patent Laid-open Application No. 9-269879.

These reprinting schemes make reuse of print data by storing printedprint data in a printer or in a print server.

In such a configuration, all that is provided for the purpose of makingreuse of original print data or reuse of print data with minorcorrections is a crude data storage function to store printed print datain a printer or in a print server. With such a crude data storagefunction, it is difficult to make reuse of print data for purposes otherthan simple reprinting. When printed print data need to be collected tobuild a database, for example, the database need to be built in theprinter or in the print server, which poses various restrictions.Further, such a database would be devoid of keywords necessary forappropriate data search. The only measure to create these keywords atthe time of database construction would be to extract keywords from theprint data. But the keywords extracted in such a manner would be tooprimitive to help to conduct an appropriate data search.

Accordingly, there is a need for a print system and a printer devicewhich can help to make easy reuse of printed print data and can make iteasier to build a database.

SUMMARY OF THE INVENTION

Accordingly, it is a general object of the present invention to providea print system and a printer device which can satisfy the need describedabove.

It is another and more specific object to provide a print system and aprinter device which can help to make easy reuse of printed print dataand can make it easier to build a database.

In order to achieve the above object according to the present invention,a print system includes a communication path, a client device whichtransmits print data to said communication path, a host device connectedto said communication path, and a printer device which prints the printdata after receiving the print data from said client device via saidcommunication path, and automatically sends the print data together withprinter output information to said host device via said communicationpath, said printer output information including keywords for identifyingsaid print data.

In the system described above, the printed print data is sent to thehost device, so that the host device can make reuse of the print datafor purposes such as use in a database. Further, since the printeroutput information inclusive of the keywords for identifying the printdata is send together with the print data, a data search can be readilyconducted without a need for creating keywords at the host device.

According to another aspect of the present invention, a printer deviceconnected to a client device and a host device via a communication pathincludes a memory unit which stores print data therein sent from theclient device via the communication path, a printer engine which printsthe print data stored in said memory unit, and a processing unit whichautomatically sends printer output information together with the printdata stored in said memory unit to the host device via the communicationpath when said printer engine prints the print data, said printer outputinformation including keywords for identifying said print data.

When such a printer device as described above is used in a print system,the host device can make easy reuse of the print data for purposes suchas use in a database.

According to another aspect of the present invention, a printer deviceconnected to a client device and a host device via a communication pathincludes a data buffer which stores print data therein received from theclient device via the communication path, an image rendering unit whichgenerates image data by expanding the print data stored in said databuffer, a frame buffer which stores therein the image data, a printerengine which prints the image data supplied from said frame buffer, anda control unit which automatically sends the image data to the hostdevice via the communication path when said printer engine prints theimage data.

Since the printer device described above sends the image data to thehost device, the host device can make easy reuse of the printed imagedata for various purposes. When another reproduction needs to beprinted, for example, use of the image data makes it possible to obtaina reproduction almost identical to the original reproduction.

A printer device connected to a client device and a host device via acommunication path includes a data buffer which stores print datatherein received from the client device via the communication path, animage rendering unit which generates image data by expanding the printdata stored in said data buffer, a frame buffer which stores therein theimage data, a printer engine which prints the image data supplied fromsaid frame buffer, a text buffer which stores therein text datacorresponding to the print data, and a control unit which automaticallysends at least one of the image data, the print data, and the text datato the host device via the communication path when said printer engineprints the image data.

Use of the printer device as describe above allows the host device tomake easy reuse of the data for various purposes. When anotherreproduction needs to be printed, for example, use of the image datamakes it possible to obtain a reproduction almost identical to theoriginal reproduction. Further, when text data is needed, the text datasupplied from the printer device as it is can be used. Since the textdata is readily available, there is no need for the host device to havea program for interpreting the print data.

Other objects and further features of the present invention will beapparent from the following detailed description when read inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a print system according to a firstembodiment of the present invention;

FIG. 2 is a block diagram showing a hardware configuration of a printerdevice according to the present invention;

FIG. 3 is an illustrative drawing showing an example of print datahaving printer output information attached thereto;

FIG. 4 is a block diagram of a print system according to a secondembodiment of the present invention;

FIG. 5 is a block diagram of a print system according to a thirdembodiment of the present invention;

FIG. 6 is an illustrative drawing showing a configuration of anappendix-data list;

FIG. 7 is a sequence chart showing an operation of a print systemaccording to a fourth embodiment of the present invention;

FIG. 8 is a sequence chart showing an operation of a print systemaccording to a fifth embodiment of the present invention;

FIG. 9 is an illustrative drawing showing an example of a menu shown ona display;

FIG. 10 is an illustrative drawing showing an example of appendixinformation generated from items selected from the menu of FIG. 9;

FIG. 11 is a sequence chart showing an operation of a print systemaccording to a sixth embodiment of the present invention;

FIG. 12 is an illustrative drawing showing an example of a data list;

FIG. 13 is a sequence chart showing an operation of a print systemaccording to a seventh embodiment of the present invention;

FIG. 14 is a block diagram of a print system according to an eighthembodiment of the present invention;

FIG. 15 is a block diagram of a print system according to a ninthembodiment of the present invention;

FIG. 16 is a block diagram of a print system according to a tenthembodiment of the present invention;

FIG. 17 is a block diagram of a print system according to a firstvariation of the tenth embodiment;

FIG. 18 is a block diagram of a print system according to a secondvariation of the tenth embodiment;

FIG. 19 is a block diagram of a print system according to a thirdvariation of the tenth embodiment;

FIG. 20 is a block diagram of a print system in which text datatransmitted to the host device is extracted from image data;

FIG. 21 is a flowchart of a process of transmitting selected data to ahost device;

FIG. 22 is a block diagram of a print system according to a fourthvariation of the tenth embodiment;

FIG. 23 is a flowchart of a process of deciding whether or not totransmit data to a host device;

FIG. 24 is a flowchart of a process of selecting a data type to betransmitted to a host device; and

FIG. 25 is a flowchart of a process of selecting a host device toreceive data.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following, embodiments of the present invention will be describedwith reference to the accompanying drawings.

FIG. 1 is a block diagram of a print system according to a firstembodiment of the present invention.

A print system 1 of FIG. 1 includes a printer device 2, a client device3, a host device 4, and a communication path 5 connecting these devicestogether. The communication path 5 is comprised of a LAN or the likeproviding two-way communications. The client device 3 may be a personalcomputer, a word-processor device, or the like. The client device 3 hasvarious computing functions for attending to data processing, and sendsprint data to the printer device 2 via the communication path 5. One ormore client devices 3 may be provided as many as necessary, and areconnected to the communication path 5. The host device 4 may be apersonal computer, a workstation, or the like, and serves as a platformwhere a database is built. The host device 4 has various computingfunctions to attend to data processing, and is provided with a largememory capacity.

The printer device 2 includes a printer engine 6 and a print-controlunit 7. The printer engine 6 utilizes an electronic printing process orthe like to print based on print data. The print-control unit 7exchanges data with the client device 3, the host device 4, and theprinter engine 6, and attends to various control operations. Theprint-control unit 7 includes a buffer 8 for temporal storage of a printdata and a control unit 9 having computing functions for attending tovarious control processes. The control unit 9 implements a data transferfunction, an information attaching function, atransmission/no-transmission selecting function, etc., as will bedescribed later.

FIG. 2 is a block diagram showing a hardware configuration of theprinter device 2 according to the present invention.

The printer device 2 of FIG. 2 includes a CPU 200, a RAM 201, a firstROM 202, a second ROM 203, a network interface 204, an engine interface205, a bus 206, and the printer engine 6. The first ROM 202 storesprogram codes, and the second ROM 203 stores font data. The CPU 200executes program codes after these program codes are loaded from thefirst ROM 202 to the RAM 201. The RAM 201 serves as a work space forexecution of the program codes, and, also, serves as a buffer and aframe memory. Print data is received by the network interface 204 to bestored in the buffer of the RAM 201. The print data stored in the bufferof the RAM 201 is expanded in the frame memory of the RAM 201 by usingthe font data of the second ROM 203 if necessary. The expanded data(image data) is sent from the RAM 201 to the printer engine 6 via theengine interface 205, and is printed by the printer engine 6.

When a comparison is made between FIG. 1 and FIG. 2, the control unit 9of FIG. 1 corresponds to control functions performed by the CPU 200using program codes stored in the first ROM 202. The buffer 8corresponds to the buffer function of the RAM 201. In the first andfollowing embodiments which will be described hereinafter, controlfunctions and other associated processing are basically implemented byrelevant elements of the configuration shown in FIG. 2.

With reference to FIG. 1 again, when the client device 3 transmits printdata, the print data received by the printer device 2 is stored in thebuffer 8. The control unit 9 supplies the print data (i.e., expandeddata to be exact) from the buffer 8 to the printer engine 6 for theprinting purpose. After the printing of the print data, the control unit9 sends the printed print data to the host device 4 via thecommunication path 5. This corresponds to the data transfer function ofthe present invention.

When sending the printed print data to the host device 4, the controlunit 9 attaches printer output information to the printed print data.

FIG. 3 is an illustrative drawing showing an example of print datahaving printer output information attached thereto.

As shown in FIG. 3, printer output information 11 attached to print data10 includes a printer name 11 a, a data size 11 b, a date and time ofprinting 11 c, etc. In this manner, the control unit 9 performs theinformation attaching function of the present invention. The printername 11 a is a name of the printer device 2, and may be 16-byte data,for example. The data size 11 b is a size of the print data 10, and maybe 4-byte data, for example. The date and time of printing 11 cindicates a data and time at which the print data is printed, and may be8-byte data, for example.

A timing at which the print data 10 is transmitted to the host device 4may be after the printing operation, or may be before the printingoperation. Further, in this embodiment, the print data 10 may be anytype of data, and can be image data, PDL (print description language)data such as Postscript, or the like.

Accordingly, the host device 4 receives the printed print data havingthe printer output information 11 attached thereto. Since the printeroutput information 11 is usable as keyword information for a search whenthe print data is to be reused, building of a database of print databecomes easier, and reuse of the print data is easily made.

FIG. 4 is a block diagram of a print system according to a secondembodiment of the present invention. In FIG. 4, the same elements asthose of FIG. 1 are referred to by the same numerals, and a descriptionthereof will be omitted.

A printer device 22 of a print system 21 shown in FIG. 4 serves as aselected one of a virtual printer A, a virtual printer B, a virtualprinter C. The printer device 22 includes a virtual-printer-A buffer 23,a virtual-printer-B buffer 24, and a virtual-printer-C buffer 25, whichcorrespond to the virtual printers A, B, and C, respectively. Theprinter device 22 further includes a printer selecting unit 26 forselecting one of the virtual-printer-A buffer 23, the virtual-printer-Bbuffer 24, and the virtual-printer-C buffer 25.

Here, virtual printers are used for their respective printing purposes.For example, a bill-printing-purpose virtual printer, areceipt-printing-purpose virtual printer, and ancost-estimate-printing-purpose virtual printer may be provided. When abill is to be printed out, the bill-printing-purpose virtual printer isselected and used. Another example is to provide virtual printers forrespective users. Namely, a user-A virtual printer, a user-B virtualprinter, and a user-C virtual printer may be provided, and a particularone of these virtual printers is used when a particular user uses theprinter device 22.

In the configuration of FIG. 4, when the client device 3 sends printerdata together with an indication of one of the virtual printers A, B,and C, the printer selecting unit 26 selects a corresponding one of thevirtual-printer buffers 23 through 25 so that the received print data isstored in the selected buffer. Where the virtual printer A is indicated,for example, the received data is stored in the virtual-printer-A buffer23. The print data of the virtual-printer-A buffer 23 is then stored inthe buffer 8 along with information indicative of the virtual printer A.The control unit 9 supplies the print data from the buffer 8 to theprinter engine 6 for the printing purpose. In so doing, only the printdata without attached information is sent to the printer engine 6. Afterthe printing, the control unit 9 transmits the printed print datatogether with printer output information from the buffer 8 to the hostdevice 4 via the communication path 5. Here, the printer outputinformation is attached at the beginning of the print data in the samemanner as shown in FIG. 3, and includes an indication of one of thevirtual printers A, B, and C.

In this manner, the operation of the second embodiment is basically thesame as that of the first embodiment, except that an indication of oneof the virtual printers A, B, and C used for the actual printing processis included in the printer output information. Inclusion of such aindication in the printer output information makes it possible to use anidentity of a virtual printer as a key for search.

FIG. 5 is a block diagram of a print system according to a thirdembodiment of the present invention. In FIG. 5, the same elements asthose of FIG. 3 are referred to by the same numerals, and a descriptionthereof will be omitted.

A printer device 32 of a print system 31 shown in FIG. 5 includes anappendix-data acquisition unit 33 and an appendix-data list 34 inaddition to the configuration of FIG. 4. The appendix-data list 34 is alist received from the host device 4 where the list is prepared in thehost device 4 to specify possible items of the printer outputinformation.

FIG. 6 is an illustrative drawing showing a configuration of theappendix-data list 34.

As shown in FIG. 6, the appendix-data list 34 includes names of thevirtual printers A, B, and C, and further includes keywords associatedwith each of the names and separated by colons. The appendix-dataacquisition unit 33 selects one of the list (i.e., select a printer nameand associated keywords) from the appendix-data list 34.

A typical example of a set of keywords associated with a given virtualprinter includes a date and time of data acquisition, a type of use ofthe printer, and a user name. If appropriate, a number of printedcopies, paper size, and the like may be incorporated.

In the configuration of FIG. 6, when the client device 3 sends printerdata together with an indication of one of the virtual printers A, B,and C, the printer selecting unit 26 selects a corresponding one of thevirtual-printer buffers 23 through 25 so that the received print data isstored in the selected buffer. Where the virtual printer A is indicated,for example, the received data is stored in the virtual-printer-A buffer23. The print data of the virtual-printer-A buffer 23 is then stored inthe buffer 8 along with information that is selected from theappendix-data list 34 by the appendix-data acquisition unit 33 such asto correspond to the indicated virtual printer A. The control unit 9supplies the print data from the buffer 8 to the printer engine 6 forthe printing purpose. In so doing, only the print data without attachedinformation is sent to the printer engine 6. After the printing, thecontrol unit 9 transmits the printed print data together with printeroutput information from the buffer 8 to the host device 4 via thecommunication path 5. Here, the printer output information is attachedat the beginning of the print data in the same manner as shown in FIG.3, and includes the information selected from the appendix-data list 34.

In this manner, the operation of the third embodiment is basically thesame as that of the second embodiment, except that the host device 4prepares the appendix-data list and that the printer device 32 selectsinformation to be included in the printer output information from theappendix-data list 34. This configuration insures data consistencybetween the host device 4 and the printer device 32, and, also, makes itpossible to dynamically change the contents of the printer outputinformation.

FIG. 7 is a sequence chart showing an operation of a print systemaccording to a fourth embodiment of the present invention. The printsystem of the fourth embodiment has the same configuration as that ofthe first embodiment shown in FIG. 1.

According to the fourth embodiment, the printer device 2 receives fromthe client device 3 client information such as a client name, a username, and the like separately from print data when the print data is tobe printed. The printer device 2 attaches the client information asprinter output information to the printed print data, and sends theprint data with the attached information to the host device 4. Namely,the client device 3 transmits information to be attached and print datato the printer device 2. When the print data is supplied to the printerengine 6, of course, the attached information is not affixed to theprint data.

With reference to FIG. 7, data exchanges between the client device 3,the printer device 2, and the host device 4 will be described below.

When print data is to be printed, the client device 3 acquires a clientname (step S1). The client device 3 then sends the client name to theprinter device 2 (step S2). Further, the client device 3 obtains a username (step S3). Then, the client device 3 sends the obtained user nameto the printer device 2 (step S4). Further, the client device 3 obtainsa current date and time (step S5), and sends the current data and timeto the printer device 2 (step S6). After transmitting all of theinformation identified above, the client device 3 sends print data tothe printer device 2 (step S7). After the printing, the printer device 2sends the print data together with the attached information (printeroutput information) to the host device 4 (step S8).

In this manner, the operation of the fourth embodiment is basically thesame as that of the second embodiment, except that the client device 3prepares client information as printer output information that is to beattached to the print data. This configuration makes it possible toprovide keywords relating to the client device 3 when such keywordscannot be obtained in the printer device 2.

FIG. 8 is a sequence chart showing an operation of a print systemaccording to a fifth embodiment of the present invention. The printsystem of the fifth embodiment has the same configuration as that of thefirst embodiment shown in FIG. 1.

In the fifth embodiment, information to be attached to print data at thetime of transmission of the print data to the host device 4 is preparedat the client device 3.

With reference to FIG. 8, data exchanges between the client device 3,the printer device 2, and the host device 4 will be described below.

When print data is to be printed, the client device 3 displays a menu ona display thereof (step S11). A user of the client device 3 selectsitems from the menu (step S12), and the client device 3 generatesappendix information from the selected items (step S13). Then, theclient device 3 sends the appendix information to the printer device 2(step S14). After transmitting the appendix information, the clientdevice 3 sends print data to the printer device 2 (step S15). After theprinting, the printer device 2 sends the print data together with theappendix information (i.e., printer output information) to the hostdevice 4 (step S16).

FIG. 9 is an illustrative drawing showing an example of a menu shown ona display. As shown in FIG. 9, a menu 13 is shown on a display 12, andselected items of the menu 13 are indicated by check marks 14.

FIG. 10 is an illustrative drawing showing an example of appendixinformation generated from the items selected from the menu 13 of FIG.9. As shown in FIG. 10, data of the appendix information is placedbetween <BEGIN DATA> and <END DATA> in order to distinguish itself fromprint data.

In this manner, the operation of the fifth embodiment is basically thesame as that of the fourth embodiment, except that user selection ofitems is made at the client device 3. This configuration makes itpossible to provide various keys in addition to the client name and theuser name.

FIG. 11 is a sequence chart showing an operation of a print systemaccording to a sixth embodiment of the present invention. The printsystem of the sixth embodiment has the same configuration as that of thefirst embodiment shown in FIG. 1.

In the sixth embodiment, the client device 3 receives a data list fromthe printer device 2. Items are then selected from the received datalist, and are transmitted to the printer device 2 as appendixinformation that is to be attached to print data at the time oftransmission of the print data to the host device 4.

With reference to FIG. 11, data exchanges between the client device 3,the printer device 2, and the host device 4 will be described below.

When print data is to be printed, the client device 3 initiatescommunication with the printer device 2 to request a data list, andreceives the data list sent from the printer device 2 (step S21).

FIG. 12 is an illustrative drawing showing an example of the data list.As shown in FIG. 12, the data list is comprised of keyword names and keyitems associated with each of the keyword names. For example, thekeyword names are “user name” and “type of use of printer”. For thekeyword “user name”, actual names of users are arranged as key items.For the keyword “type of use of printer”, names of virtual printers maybe arranged as key items.

With reference to FIG. 11 again, the client device 3 displays a menu ona display thereof to present the contents of the received data list(step S22). A user of the client device 3 selects items from the menu(step S23), and the client device 3 generates appendix information fromthe selected items (step S24). Then, the client device 3 sends theappendix information to the printer device 2 (step S25). Aftertransmitting the appendix information, the client device 3 sends printdata to the printer device 2 (step S26). After the printing, the printerdevice 2 sends the print data together with the appendix information(i.e., printer output information) to the host device 4 (step S27).

In this manner, the operation of the sixth embodiment is basically thesame as that of the fifth embodiment, except that user selection ofitems is made based on the data list sent from the printer device 2 tothe client device 3.

In the sixth embodiment, the control unit 9 may be provided with afunction to decide whether or not to transmit the printed print data tothe host device 4, and may make such a decision based on the printeroutput information (i.e., appendix information) supplied from the clientdevice 3. With this transmission/no-transmission selecting function, theprinter device 2 can avoid sending unnecessary print data to the hostdevice 4. Namely, this configuration can control the amount of printdata transmitted to the host device 4.

FIG. 13 is a sequence chart showing an operation of a print systemaccording to a seventh embodiment of the present invention. The printsystem of the seventh embodiment has the same configuration as that ofthe first embodiment shown in FIG. 1.

In the seventh embodiment, the client device 3 receives a data list fromthe host device 4. Items are then selected from the received data list,and are transmitted to the printer device 2 as appendix information thatis to be attached to print data at the time of transmission of the printdata to the host device 4.

With reference to FIG. 13, data exchanges between the client device 3,the printer device 2, and the host device 4 will be described below.

When print data is to be printed, the client device 3 initiatescommunication with the host device 4 to request a data list, andreceives the data list sent from the host device 4 (step S31). In thesame manner as shown in FIG. 12, the data list is comprised of keywordnames and key items associated with each of the keyword names. Theclient device 3 displays a menu on a display thereof to present thecontents of the received data list (step S32). A user of the clientdevice 3 selects items from the menu (step S33), and the client device 3generates appendix information from the selected items (step S34). Then,the client device 3 sends the appendix information to the printer device2 (step S35). After transmitting the appendix information, the clientdevice 3 sends print data to the printer device 2 (step S36). After theprinting, the printer device 2 sends the print data together with theappendix information (i.e., printer output information) to the hostdevice 4 (step S37).

FIG. 14 is a block diagram of a print system according to an eighthembodiment of the present invention.

A print system 41 of this embodiment includes a plurality of hostdevices 4A and 4B connected to the communication path 5. In thisconfiguration, selection has to be made between the host device 4A andthe host device 4B. According to the eighth embodiment, appendixinformation sent to the printer device 2 from the client device 3 isused for selecting one of the host device 4A and host device 4B as arecipient device of the print data.

In the configuration of FIG. 14, when the client device 3 transmitsprint data, the print data received by the printer device 2 is stored inthe buffer 8. The control unit 9 supplies the print data from the buffer8 to the printer engine 6 for the printing purpose. After the printingof the print data, the control unit 9 sends the printed print data toeither one of the host device 4A and the host device 4B via thecommunication path 5. This corresponds to the data transfer function ofthe present invention. When sending the printed print data to the hostdevice 4, the control unit 9 attaches printer output information to theprinted print data. Here, the control unit 9 performs an informationattaching function of the present invention. Selection of one of thehost devices 4A and 4B is made by referring to a predetermined portionof the print data sent from the client device 3 to the printer device 2where this portion of the print data contains a name of a recipient hostdevice. Alternatively, selection is made by referring to a predeterminedsection of the information that is to be attached to the print data. Ineither case, the selection is made automatically by the control unit 9.

Accordingly, even when there are a plurality of host devices, the clientdevice 3 can automatically select one of the host devices as a recipientof the print data.

FIG. 15 is a block diagram of a print system according to a ninthembodiment of the present invention. In FIG. 15, the same elements asthose of FIG. 14 are referred to by the same numerals, and a descriptionthereof will be omitted.

A printer device 52 of a print system 51 according to the ninthembodiment include a selection-data acquisition unit 53 and aselection-data list 54 in addition to the configuration of the printerdevice 2 shown in FIG. 14. Each of the host devices 4A and 4B ownsselection data. The printer device 52 receives appendix information fromthe client device 3 and the selection data from the host devices 4A and4B, and compares the appendix information with the selection data todecide which one of the host devices 4A and 4B is selected. Namely, theselection-data list 54 is comprised of selection data received from thehost devices 4A and 4B, and one of the host devices 4A and 4B isselected based on the appendix information and the selection-data list.

In the configuration of FIG. 15, when the client device 3 transmitsprint data, the printer device 2 receives the print data and stores itin the buffer 8. The control unit 9 supplies the print data from thebuffer 8 to the printer engine 6 for the printing purpose. After theprinting of the print data, the control unit 9 sends the printed printdata to either one of the host device 4A and the host device 4B via thecommunication path 5. This corresponds to the data transfer function ofthe present invention. When sending the printed print data to the hostdevice 4, the control unit 9 attaches printer output information to theprinted print data. Here, the control unit 9 performs an informationattaching function of the present invention. Selection of one of thehost devices 4A and 4B is made by referring to the selection-data list54 based on the contents of the appendix information sent from theclient device 3 to the printer device 2.

A typical example of the selection-data list 54 includes host names anduser names associated with each of the host names. For example, a user Xand a user Y are associated with the host device 4A, and a user Z isassociated with the host device 4B. If the appendix informationindicates the user X as a person requesting printing of the print data,the user X is looked for in the selection-data list 54, and the hostdevice 4A corresponding to the user name X is selected as a recipient ofthe printed print data. Another example of the selection-data list 54may include hose names and virtual printer names associated with each ofthe host names. In this case, a virtual printer name indicated in theappendix data is used as a key to select one of the host devices 4A and4B.

Accordingly, even when there are a plurality of host devices, the clientdevice 3 can automatically select one of the host devices as a recipientof the print data. Further, dynamic control can be made with regard toselection of a recipient host device.

Although the first through ninth embodiments have been described withreference to particular configurations and operations, the presentinvention is not limited to these particular configurations andoperations. Modifications may be made to a given embodiment to create avariation thereof by picking up one feature from one embodiment andanother feature from another embodiment so as to create a differentcombination of various features delineated above as part of the presentinvention. Such an obvious variation is intended to be part of thepresent disclosure, and the scope of the invention is defined by claimsattached hereto.

FIG. 16 is a block diagram of a print system according to a tenthembodiment of the present invention.

A print system 62 of FIG. 16 includes a printer device 61, a clientdevice 63, a host device 64, and a communication path 65 connectingthese devices together. The communication path 65 may be comprised of aLAN or the like capable of two-way communication. The client device 63may be a personal computer, a word-processor device, or the like. Theclient device 63 has various computing functions for attending to dataprocessing, and sends print data to the printer device 61 via thecommunication path 65. One or more client devices 63 may be provided asmany as necessary, and are connected to the communication path 65. Thehost device 64 may be a personal computer, a workstation, or the like,and may serve as a platform where a database is built. The host device64 has various computing functions to attend to data processing, and isprovided with a large memory capacity. More than one host device 64 maybe provided as many as necessary.

The printer device 61 includes a printer engine 66 and a control unit67. The printer engine 66 utilizes an electronic printing process or thelike to print a reproduction based on print data. The control unit 67exchanges data with the client device 63, the host device 64, and theprinter engine 66, and attends to various control operations. Theprinter device 61 further includes a data buffer 68, an image renderingunit 69, a frame buffer 70, a text-extraction unit 71, an OCR (opticalcharacter recognition) unit 72, a text buffer 73, an index buffer 74,and an index-generation unit 75.

The data buffer 68 temporarily stores print data. The image renderingunit 69 serves as an image expanding means to expand the print data intoimage data. The frame buffer 70 stores the expanded image data, which isto be supplied to the printer engine 66 for the printing purpose. Thetext-extraction unit 71 extracts text data from the print data stored inthe data buffer 68. The OCR unit 72 generates text data from the imagedata stored in the frame buffer 70 through an optical characterrecognition process. The text buffer 73 stores the text data obtained bythe text-extraction unit 71 or the OCR unit 72. The index buffer 74stores index information supplied from the client device 63. Theindex-generation unit 75 attaches the index information to the text datasupplied from the text buffer 73. All of the above-identified elementsare not essential, and some of the elements can be omitted depending onan object to be achieved, as will be described later in detail. Here,the control unit 67 implements various functions such as a data-transferfunction, a client-information attaching function, atransmission/non-transmission selecting function, etc.

In this configuration, when the client device 63 transmits print data,the printer device 61 receives the print data and stores it in the databuffer 68. Under the control of the control unit 67, the print datastored in the data buffer 68 is expanded into image data by the imagerendering unit 69, and the expanded image data is stored in the framebuffer 70. The image data is then supplied from the frame buffer 70 tothe printer engine 66 for the printing purpose.

The print data stored in the data buffer 68 is supplied to thetext-extraction unit 71 if necessary, and the text-extraction unit 71extracts text data from the print data. The extracted text data isstored in the text buffer 73. Alternatively, the image data stored inthe frame buffer 70 is supplied to the OCR unit 72, and the OCR unit 72obtains text data from the image data. The obtained the data is storedin the text buffer 73. That is, the text data may be extracted from theprint data, or may be obtained from the image data through an opticalcharacter recognition process or the like.

The index-generation unit 75 attaches index information to the text dataobtained from the text buffer 73 where the index information is suppliedfrom the client and is stored in the index buffer 74. This processperformed by the index-generation unit 75 may be part of the functionsperformed by the control unit 67. Alternatively, the index informationmay be automatically generated in the printer device 61.

The index information may include a client name of a client whichtransmitted the print data, a date and time indicative of when the printdata was received, keywords extracted from the text data, etc. Anexample of the index information is as follows.

List 1

AAA-PC:1999-02-20:printer:client:keywords Items included in the list areseparated by colons “:”. The keywords may be those which are mostfrequently found in the text data, or may be those which are registeredin a keyword list and found in the text data.

In the following, variations of the tenth embodiment described abovewill be described with reference to the accompanying drawings.

FIG. 17 is a block diagram of a print system according to a firstvariation of the tenth embodiment. In FIG. 17, the same elements asthose of FIG. 16 are referred to by the same numerals, and a descriptionthereof will be omitted.

After printing or at an appropriate timing prior to an end of printing,the control unit 67 transmits the printed image data from the framebuffer 70 to the host device 64 via the communication path 65. By havingthe printer device 61 send image data to the host device 64 and havingthe host device 64 store the image data, one can easily make reuse ofthe printed image data for various purposes. When another reproductionneeds to be printed, for example, use of the image data makes itpossible to obtain a reproduction almost identical to the originalreproduction.

FIG. 18 is a block diagram of a print system according to a secondvariation of the tenth embodiment. In FIG. 18, the same elements asthose of FIG. 16 are referred to by the same numerals, and a descriptionthereof will be omitted.

After printing or at an appropriate timing prior to an end of printing,the control unit 67 transmits the image data stored in the frame buffer70 and the print data stored in the data buffer 68 to the host device 64via the communication path 65. By having the printer device 61 sendimage data and print data to the host device 64 and having the hostdevice 64 store the image data and the print data, one can easily makereuse of the data for various purposes. When another reproduction needsto be printed, for example, use of the image data makes it possible toobtain a reproduction almost identical to the original reproduction.Further, when text data is needed, use of the print data allows the textdata to be easily obtained without using an optical characterrecognition process.

FIG. 19 is a block diagram of a print system according to a thirdvariation of the tenth embodiment. In FIG. 19, the same elements asthose of FIG. 16 are referred to by the same numerals, and a descriptionthereof will be omitted.

After printing or at an appropriate timing prior to an end of printing,the control unit 67 transmits image data, print data, and text data tothe host device 64 via the communication path 65 where the image data,the print data, and the text data are stored in the frame buffer 70, thedata buffer 68, and the text buffer 73, respectively. By having theprinter device 61 send image data, print data, and text data to the hostdevice 64 and having the host device 64 store the image data, the printdata, and the text data, one can easily make reuse of the data forvarious purposes. When another reproduction needs to be printed, forexample, use of the image data makes it possible to obtain areproduction almost identical to the original reproduction. Further,when text data is needed, the text data supplied from the printer device61 as it is can be used. Since the text data is readily available fromthe data storage, there is no need for the host device 64 to have aprogram for interpreting the print data. If text data needs be to beextracted from print data, it is necessary to have a program forinterpreting the print data. Since types of print data may varydepending on types of printer devices, however, such interpretingprograms may need to be provided as many as there are printer devices.Having text data ready in the data storage, the host device 64 does nothave to have such programs.

The text data transmitted to the host device 64 may be extracted fromthe image data by using the OCR unit 72 rather than being extracted fromthe print data by using the text-extraction unit 71.

FIG. 20 is a block diagram of a print system in which text datatransmitted to the host device is extracted from image data. Thisconfiguration offers the same advantages as those of the configurationdescribed above.

It should be noted that all of the image data, print data, and text datado not have to be transmitted to the host device 64, and selection maybe made as to which data is to be transmitted to the host device 64.Selection may be made by indicating one or more than one of the imagedata, print data, and text data in advance at the printer device 61.Alternatively, the selection may be made according to instructionsprovided from the host device 64.

In the following, a description will be given with regard to a casewhere transmission data type is indicated at the printer device 61, andthe control unit 67 controls selection of data according to theindication.

FIG. 21 is a flowchart of a process of transmitting selected data to ahost device.

A flag is provided in the printer device 61, and, in the example of FIG.71, it is assumed that the flag is already set through operation on anoperation panel, setting of a printer driver, etc.

At a step S21-1, the printer device 61 receives print data.

At a step S21-2, the control unit 67 checks the flag. If the flagindicates “printdata”, the procedure goes to a step S21-3, where theprint data stored in the data buffer 68 is transmitted to the hostdevice 64. If the flag indicates “imagedata”, the procedure goes to astep S21-4, where the image data stored in the frame buffer 70 istransmitted to the host device 64. If the flag indicates “textdata”, theprocedure goes to a step S21-5, where the text data stored in the textbuffer 73 is transmitted to the host device 64.

It should be noted that more than one data type may be indicated, sothat both the print data and the text data may be sent, or both theimage data and the text data may be transmitted, for example. Selectionof necessary data type or types makes it possible to avoid a situationwhere the amount of data sent to the host device becomes unnecessarilylarge.

FIG. 22 is a block diagram of a print system according to a fourthvariation of the tenth embodiment. In FIG. 22, the same elements asthose of FIG. 16 are referred to by the same numerals, and a descriptionthereof will be omitted.

A configuration of FIG. 22 differs from that of FIG. 16 only in that theindex buffer 74 is not provided in FIG. 22. In this configuration, theindex-generation unit 75 extracts index information from the text datastored in the text buffer 73, and transmits the index information aspart of the text data together with at least one of print data and imagedata. When the index information is generated in the printer device 61,traffic of data transfer is reduced, and, at the same time, the load onthe host device 64 to generate index data is eliminated.

In the following, a description will be given with regard to a fifthvariation of the tenth embodiment. The fifth variation is implementedbased on the configuration of FIG. 16.

When index information is obtained from the client device 63 and storedin the index buffer 74, the index-generation unit 75 adds the indexinformation stored in the index buffer 74 to index information extractedfrom the text data as described above. Then, the printer device 61 sendsthe index data as part of the text data together with at least one ofthe print data and the image data to the host device 64.

In this configuration, information obtained from the client device 3 isalso transmitted as part of the index information to the host device 64,so that designing of a database on the host device 64 becomes easier.

In the following, a description will be given with regard to a sixthvariation of the tenth embodiment. The sixth variation is implementedbased on the configuration of FIG. 16.

In the sixth variation, a decision as to whether or not to transmit datato the host device 64 is made based on the index information.

The printer device 61 has a list such as one shown in the following inits memory.

List 2

AAAAAA-PC

BBBB-PC

CCCCC-PC

This list is compared with items of the index information such aspreviously shown as List 1, and the control unit 67 makes a decision asto whether or not to transmit data based on the comparison.

FIG. 23 is a flowchart of a process of deciding whether or not totransmit data to a host device.

At a step S23-1, the printer device 61 receives print data.

At a step S23-2, a client name is extracted from the index information.

At a step S23-3, a check is made as to whether the extracted client nameis found in the list such as List 2 shown above. If the client name isfound, the procedure goes to a step S23-4, where data is transmitted tothe host device 64. Otherwise, the data is not transmitted.

The process as described above is performed as thetransmission/no-transmission selecting function of the control unit 67.With this function to decide whether or not to transmit data to the hostdevice 64 based on the index information, the printer device 61 avoids asituation where a unnecessarily large amount of data is transmitted,thereby reducing data traffic as a whole.

In the following, a description will be given with regard to a seventhvariation of the tenth embodiment. The seventh variation is implementedbased on the configuration of FIG. 16.

In the seventh variation, selection of a data type to be transmitted ismade based on the index information.

The printer device 61 has a list such as one shown in the following inits memory.

List 3

AAAAAA-PC: imagedata

BBBB-PC: textdata, imagedata

CCCCC-PC

In the list, a client name and a data type to be transmitted areseparated by a colon. When a plurality of data types are provided, theyare separated by commas. If no data type is provided with respect to agiven client in the list, no data transmission is conducted with respectto that client. Further, if a given client is not named in the list, nodata transmission is performed with respect to the given client.

FIG. 24 is a flowchart of a process of selecting a data type to betransmitted to a host device.

At a step S24-1, the printer device 61 receives print data.

At a step S24-2, a client name is extracted from the index information.

At a step S24-3, a check is made as to whether the extracted client nameis found in the list such as List 3 shown above. If the client name isnot found in the list, the procedure comes to an end. If the client nameis found in the list, the procedure goes to a step S24-4.

At the step S24-4, a check is made as to whether the data type to betransmitted indicates “imagedata”. If it does, image data stored in theframe buffer 70 is sent to the host device 64 at a step S24-5.

At a step S24-6, a check is made as to whether the data type to betransmitted indicates “textdata”. If it does, text data stored in thetext buffer 73 is sent to the host device 64 at a step S24-7.

At a step S24-8, a check is made as to whether the data type to betransmitted indicates “printdata”. If it does, print data stored in thedata buffer 68 is sent to the host device 64 at a step S24-9. Then, theprocedure comes to an end.

If no data type to be transmitted is indicated, no data is sent to thehost device 64. Indication of the data type to be transmitted is notlimited to one data type, but may include a plurality of data types.

In this manner, a decision as to not only whether or not to transmitdata to the host device 64 but also what data type is to be transmittedis made based on the index information. This insures that a size of datato be transmitted is no more than that which is necessary, therebyreducing traffic of transmitted data than it would otherwise be.Further, this configuration provides a diligent control of datatransmission.

In the following, a description will be given with regard to an eighthvariation of the tenth embodiment. The eighth variation is implementedbased on the configuration of FIG. 16.

In the eighth variation, when a plurality of host devices 64 areprovided, one of the host devices is selected as a recipient oftransmitted data based on the index information.

The printer device 61 has a list such as one shown in the following inits memory.

List 4

AAAAAA-PC: HOST1

BHBB-PC: HOST2

CCCCC-PC

In the list, a client name and a name of a recipient host data areseparated by colon. If a name of a recipient host device is notprovided, no data transmission is conducted with respect to the client.Further, if a given client is not named in the list, no datatransmission is performed with respect to the given client.

FIG. 25 is a flowchart of a process of selecting a host device toreceive data.

At a step S25-1, the printer device 61 receives print data.

At a step S25-2, a client name is extracted from the index information.

At a step S25-3, a check is made as to whether the extracted client nameis found in the list such as List 4 shown above. If the client name isnot found in the list, the procedure comes to an end. If the client nameis found in the list, the procedure goes to a step S25-4.

At the step S25-4, an attempt is made to extract a host name from thelist.

At a step S25-5, a check is made as to whether the host name isextracted. If the host name is extracted, the procedure goes to a stepS25-6, where data is transmitted to the host device 64 having theextracted host name. Otherwise, the procedure comes to an end.

In this manner, selection of a recipient host device is made based onthe index information. This configuration allows automatic selection ofa recipient host device without requiring a user to spend time and laborto select the host device when a plurality of host devices are connectedto the communication path.

Further, the present invention is not limited to these embodiments, butvarious variations and modifications may be made without departing fromthe scope of the present invention.

The present application is based on Japanese priority applications No.11-223329 filed on Aug. 6, 1999, No. 11-77054 filed on Mar. 23, 1999,and No. 10-287847 filed on Oct. 9, 1998, with the Japanese PatentOffice, the entire contents of which are hereby incorporated byreference.

1. A printer device connected to a client device and a host device,comprising: a control unit that prints print data received from theclient device; and a data transfer unit that transfers image datagenerated from the received print data together with printer outputinformation to the host device, the printer output information includinginformation regarding outputting of the print data, and the printeroutput information including key information that serves as a key whensearching for the print data.
 2. The printer device as claimed inclaimed in claim 1, wherein the printer output information furtherincludes client information, the client information being received fromthe client device.
 3. The printer device as claimed in claim 2, whereinthe data transfer unit transfers the print data together with theprinter output information to the host device when the clientinformation indicates transmission of the print data, and does not sendthe print data together with the printer output information to the hostdevice when the client information indicates no transmission of theprint data.
 4. The printer device as claimed in claim 2, wherein thedata transfer unit sends the print data together with the printer outputinformation to a selected host device that is indicated in the clientinformation when a plurality of host devices are connected to theprinter device.
 5. The printer device as claimed in claim 2, wherein thedata transfer unit sends the print data together with the printer outputinformation to a selected host device when a plurality of host devicesare connected to the printer device, the data processing unit selectingthe selected host device by comparing the client information with a datalist sent from the host devices.
 6. The printer device as claimed inclaim 1, further comprising: a data buffer that stores print datatherein received from the client device; an image rendering unit thatgenerates image data by expanding the print data stored in the databuffer; a frame buffer that stores therein the image data; a printerengine that prints the image data supplied from the frame buffer; andthe data transfer unit automatically sends the image data to the hostdevice when the printer engine prints the image data.
 7. A printerdevice as claimed in claim 1, further comprising: a data buffer thatstores print data therein received from the client device; an imagerendering unit that generates image data by expanding the print datastored in the data buffer; a frame buffer that stores therein the imagedata; a printer engine that prints the image data supplied from theframe buffer; a text buffer that stores therein text data correspondingto the print data; and the data transfer unit automatically sends atleast one of the image data, the print data, and the text data to thehost device when the printer engine prints the image data.
 8. Theprinter device as claimed in claim 7, further comprising atext-extraction unit that extracts the text data from the print datastored in the data buffer, and stores the text data in the text buffer.9. The printer device as claimed in claim 7, further comprising acharacter recognition unit that extracts the text data from the imagedata stored in the frame buffer, and stores the text data in the textbuffer.
 10. The printer device as claimed in claim 7, further comprisinga memory unit that stores a flag, wherein the data transfer unit selectsthe at least one of the image data, the print data, and the text datathat is indicated by the flag.
 11. The printer device as claimed inclaim 7, further comprising an index-generation unit that generatesindex information from the text data, and the data transfer unit sendsthe index information as part of the text data to the host device, theindex information including the key information.
 12. The printer deviceas claimed in claim 11, further comprising an index buffer that storestherein client information received from the client device, wherein theindex generation unit adds the client information to the indexinformation generated from the text data.
 13. The printer device asclaimed in claim 11, wherein the data transfer unit selects, based onthe index information, whether or not to send the at least one of theimage data, the print data, and the text data to the host device. 14.The printer device as claimed in claim 11, wherein the data transferunit selects, based on the index information, which data of the imagedata, the print data, and the text data is sent to the host device. 15.The printer device as claimed in claim 11, wherein the data transferunit sends the at least one of the image data, the print data, and thetext data to a host device that is selected based on the indexinformation when a plurality of host devices are connected to theprinter device.